package com.tesisutn.restsoft.resultado.formatter;

import com.tesisutn.restsoft.resultado.Content;
import com.tesisutn.restsoft.resultado.Result;

/**
 *
 * @author Usuario
 */
public abstract class ContentFormatter {

    public String format(Result result) {
        StringBuilder stringResult = new StringBuilder();
        stringResult.append("{"); //corchete de apertura del array

        stringResult.append(result.isSuccessful() ? "\"successful\" : true" : "\"successful\" : false");

        stringResult.append(", "); //separacion de JSON

        stringResult.append("\"content\" : ").append(formatContent(result.getContent())); //separacion de JSON

        stringResult.append("}"); //corchete de apertura del array
        return stringResult.toString();
    }

    protected abstract String formatContent(Content content);
}
